﻿using System.Collections;
using OMR.Crawler.Core.Crawlers;

namespace OMR.Crawler.Core
{
    public static class MimeTypes
    {
        private static ArrayList _mimeTypes = new ArrayList();

        static MimeTypes()
        {
            _mimeTypes.Add(new MimeType() { Extension = "3dm", Name = "x-world/x-3dmf" });
            _mimeTypes.Add(new MimeType() { Extension = "3dmf", Name = "x-world/x-3dmf" });
            _mimeTypes.Add(new MimeType() { Extension = "a", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "aab", Name = "application/x-authorware-bin" });
            _mimeTypes.Add(new MimeType() { Extension = "aam", Name = "application/x-authorware-map" });
            _mimeTypes.Add(new MimeType() { Extension = "aas", Name = "application/x-authorware-seg" });
            _mimeTypes.Add(new MimeType() { Extension = "abc", Name = "text/vnd.abc" });
            _mimeTypes.Add(new MimeType() { Extension = "acgi", Name = "text/html" });
            _mimeTypes.Add(new MimeType() { Extension = "afl", Name = "video/animaflex" });
            _mimeTypes.Add(new MimeType() { Extension = "ai", Name = "application/postscript" });
            _mimeTypes.Add(new MimeType() { Extension = "aif", Name = "audio/aiff" });
            _mimeTypes.Add(new MimeType() { Extension = "aif", Name = "audio/x-aiff" });
            _mimeTypes.Add(new MimeType() { Extension = "aifc", Name = "audio/aiff" });
            _mimeTypes.Add(new MimeType() { Extension = "aifc", Name = "audio/x-aiff" });
            _mimeTypes.Add(new MimeType() { Extension = "aiff", Name = "audio/aiff" });
            _mimeTypes.Add(new MimeType() { Extension = "aiff", Name = "audio/x-aiff" });
            _mimeTypes.Add(new MimeType() { Extension = "aim", Name = "application/x-aim" });
            _mimeTypes.Add(new MimeType() { Extension = "aip", Name = "text/x-audiosoft-intra" });
            _mimeTypes.Add(new MimeType() { Extension = "ani", Name = "application/x-navi-animation" });
            _mimeTypes.Add(new MimeType() { Extension = "aos", Name = "application/x-nokia-9000-communicator-add-on-software" });
            _mimeTypes.Add(new MimeType() { Extension = "aps", Name = "application/mime" });
            _mimeTypes.Add(new MimeType() { Extension = "arc", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "arj", Name = "application/arj" });
            _mimeTypes.Add(new MimeType() { Extension = "arj", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "art", Name = "image/x-jg" });
            _mimeTypes.Add(new MimeType() { Extension = "asf", Name = "video/x-ms-asf" });
            _mimeTypes.Add(new MimeType() { Extension = "asm", Name = "text/x-asm" });
            _mimeTypes.Add(new MimeType() { Extension = "asp", Name = "text/asp" });
            _mimeTypes.Add(new MimeType() { Extension = "asx", Name = "application/x-mplayer2" });
            _mimeTypes.Add(new MimeType() { Extension = "asx", Name = "video/x-ms-asf" });
            _mimeTypes.Add(new MimeType() { Extension = "asx", Name = "video/x-ms-asf-plugin" });
            _mimeTypes.Add(new MimeType() { Extension = "au", Name = "audio/basic" });
            _mimeTypes.Add(new MimeType() { Extension = "au", Name = "audio/x-au" });
            _mimeTypes.Add(new MimeType() { Extension = "avi", Name = "application/x-troff-msvideo" });
            _mimeTypes.Add(new MimeType() { Extension = "avi", Name = "video/avi" });
            _mimeTypes.Add(new MimeType() { Extension = "avi", Name = "video/msvideo" });
            _mimeTypes.Add(new MimeType() { Extension = "avi", Name = "video/x-msvideo" });
            _mimeTypes.Add(new MimeType() { Extension = "avs", Name = "video/avs-video" });
            _mimeTypes.Add(new MimeType() { Extension = "bcpio", Name = "application/x-bcpio" });
            _mimeTypes.Add(new MimeType() { Extension = "bin", Name = "application/mac-binary" });
            _mimeTypes.Add(new MimeType() { Extension = "bin", Name = "application/macbinary" });
            _mimeTypes.Add(new MimeType() { Extension = "bin", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "bin", Name = "application/x-binary" });
            _mimeTypes.Add(new MimeType() { Extension = "bin", Name = "application/x-macbinary" });
            _mimeTypes.Add(new MimeType() { Extension = "bm", Name = "image/bmp" });
            _mimeTypes.Add(new MimeType() { Extension = "bmp", Name = "image/bmp" });
            _mimeTypes.Add(new MimeType() { Extension = "bmp", Name = "image/x-windows-bmp" });
            _mimeTypes.Add(new MimeType() { Extension = "boo", Name = "application/book" });
            _mimeTypes.Add(new MimeType() { Extension = "book", Name = "application/book" });
            _mimeTypes.Add(new MimeType() { Extension = "boz", Name = "application/x-bzip2" });
            _mimeTypes.Add(new MimeType() { Extension = "bsh", Name = "application/x-bsh" });
            _mimeTypes.Add(new MimeType() { Extension = "bz", Name = "application/x-bzip" });
            _mimeTypes.Add(new MimeType() { Extension = "bz2", Name = "application/x-bzip2" });
            _mimeTypes.Add(new MimeType() { Extension = "c", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "c", Name = "text/x-c" });
            _mimeTypes.Add(new MimeType() { Extension = "c++", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "cat", Name = "application/vnd.ms-pki.seccat" });
            _mimeTypes.Add(new MimeType() { Extension = "cc", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "cc", Name = "text/x-c" });
            _mimeTypes.Add(new MimeType() { Extension = "ccad", Name = "application/clariscad" });
            _mimeTypes.Add(new MimeType() { Extension = "cco", Name = "application/x-cocoa" });
            _mimeTypes.Add(new MimeType() { Extension = "cdf", Name = "application/cdf" });
            _mimeTypes.Add(new MimeType() { Extension = "cdf", Name = "application/x-cdf" });
            _mimeTypes.Add(new MimeType() { Extension = "cdf", Name = "application/x-netcdf" });
            _mimeTypes.Add(new MimeType() { Extension = "cer", Name = "application/pkix-cert" });
            _mimeTypes.Add(new MimeType() { Extension = "cer", Name = "application/x-x509-ca-cert" });
            _mimeTypes.Add(new MimeType() { Extension = "cha", Name = "application/x-chat" });
            _mimeTypes.Add(new MimeType() { Extension = "chat", Name = "application/x-chat" });
            _mimeTypes.Add(new MimeType() { Extension = "class", Name = "application/java" });
            _mimeTypes.Add(new MimeType() { Extension = "class", Name = "application/java-byte-code" });
            _mimeTypes.Add(new MimeType() { Extension = "class", Name = "application/x-java-class" });
            _mimeTypes.Add(new MimeType() { Extension = "com", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "com", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "conf", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "cpio", Name = "application/x-cpio" });
            _mimeTypes.Add(new MimeType() { Extension = "cpp", Name = "text/x-c" });
            _mimeTypes.Add(new MimeType() { Extension = "cpt", Name = "application/mac-compactpro" });
            _mimeTypes.Add(new MimeType() { Extension = "cpt", Name = "application/x-compactpro" });
            _mimeTypes.Add(new MimeType() { Extension = "cpt", Name = "application/x-cpt" });
            _mimeTypes.Add(new MimeType() { Extension = "crl", Name = "application/pkcs-crl" });
            _mimeTypes.Add(new MimeType() { Extension = "crl", Name = "application/pkix-crl" });
            _mimeTypes.Add(new MimeType() { Extension = "crt", Name = "application/pkix-cert" });
            _mimeTypes.Add(new MimeType() { Extension = "crt", Name = "application/x-x509-ca-cert" });
            _mimeTypes.Add(new MimeType() { Extension = "crt", Name = "application/x-x509-user-cert" });
            _mimeTypes.Add(new MimeType() { Extension = "csh", Name = "application/x-csh" });
            _mimeTypes.Add(new MimeType() { Extension = "csh", Name = "text/x-script.csh" });
            _mimeTypes.Add(new MimeType() { Extension = "css", Name = "application/x-pointplus" });
            _mimeTypes.Add(new MimeType() { Extension = "css", Name = "text/css" });
            _mimeTypes.Add(new MimeType() { Extension = "cxx", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "dcr", Name = "application/x-director" });
            _mimeTypes.Add(new MimeType() { Extension = "deepv", Name = "application/x-deepv" });
            _mimeTypes.Add(new MimeType() { Extension = "def", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "der", Name = "application/x-x509-ca-cert" });
            _mimeTypes.Add(new MimeType() { Extension = "dif", Name = "video/x-dv" });
            _mimeTypes.Add(new MimeType() { Extension = "dir", Name = "application/x-director" });
            _mimeTypes.Add(new MimeType() { Extension = "dl", Name = "video/dl" });
            _mimeTypes.Add(new MimeType() { Extension = "dl", Name = "video/x-dl" });
            _mimeTypes.Add(new MimeType() { Extension = "doc", Name = "application/msword" });
            _mimeTypes.Add(new MimeType() { Extension = "docx", Name = "application/msword" }); // TODO
            _mimeTypes.Add(new MimeType() { Extension = "dot", Name = "application/msword" });
            _mimeTypes.Add(new MimeType() { Extension = "dp", Name = "application/commonground" });
            _mimeTypes.Add(new MimeType() { Extension = "drw", Name = "application/drafting" });
            _mimeTypes.Add(new MimeType() { Extension = "dump", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "dv", Name = "video/x-dv" });
            _mimeTypes.Add(new MimeType() { Extension = "dvi", Name = "application/x-dvi" });
            _mimeTypes.Add(new MimeType() { Extension = "dwf", Name = "drawing/x-dwf (old)" });
            _mimeTypes.Add(new MimeType() { Extension = "dwf", Name = "model/vnd.dwf" });
            _mimeTypes.Add(new MimeType() { Extension = "dwg", Name = "application/acad" });
            _mimeTypes.Add(new MimeType() { Extension = "dwg", Name = "image/vnd.dwg" });
            _mimeTypes.Add(new MimeType() { Extension = "dwg", Name = "image/x-dwg" });
            _mimeTypes.Add(new MimeType() { Extension = "dxf", Name = "application/dxf" });
            _mimeTypes.Add(new MimeType() { Extension = "dxf", Name = "image/vnd.dwg" });
            _mimeTypes.Add(new MimeType() { Extension = "dxf", Name = "image/x-dwg" });
            _mimeTypes.Add(new MimeType() { Extension = "dxr", Name = "application/x-director" });
            _mimeTypes.Add(new MimeType() { Extension = "el", Name = "text/x-script.elisp" });
            _mimeTypes.Add(new MimeType() { Extension = "elc", Name = "application/x-bytecode.elisp (compiled elisp)" });
            _mimeTypes.Add(new MimeType() { Extension = "elc", Name = "application/x-elc" });
            _mimeTypes.Add(new MimeType() { Extension = "env", Name = "application/x-envoy" });
            _mimeTypes.Add(new MimeType() { Extension = "eps", Name = "application/postscript" });
            _mimeTypes.Add(new MimeType() { Extension = "es", Name = "application/x-esrehber" });
            _mimeTypes.Add(new MimeType() { Extension = "etx", Name = "text/x-setext" });
            _mimeTypes.Add(new MimeType() { Extension = "evy", Name = "application/envoy" });
            _mimeTypes.Add(new MimeType() { Extension = "evy", Name = "application/x-envoy" });
            _mimeTypes.Add(new MimeType() { Extension = "exe", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "f", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "f", Name = "text/x-fortran" });
            _mimeTypes.Add(new MimeType() { Extension = "f77", Name = "text/x-fortran" });
            _mimeTypes.Add(new MimeType() { Extension = "f90", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "f90", Name = "text/x-fortran" });
            _mimeTypes.Add(new MimeType() { Extension = "fdf", Name = "application/vnd.fdf" });
            _mimeTypes.Add(new MimeType() { Extension = "fif", Name = "application/fractals" });
            _mimeTypes.Add(new MimeType() { Extension = "fif", Name = "image/fif" });
            _mimeTypes.Add(new MimeType() { Extension = "fli", Name = "video/fli" });
            _mimeTypes.Add(new MimeType() { Extension = "fli", Name = "video/x-fli" });
            _mimeTypes.Add(new MimeType() { Extension = "flo", Name = "image/florian" });
            _mimeTypes.Add(new MimeType() { Extension = "flx", Name = "text/vnd.fmi.flexstor" });
            _mimeTypes.Add(new MimeType() { Extension = "fmf", Name = "video/x-atomic3d-feature" });
            _mimeTypes.Add(new MimeType() { Extension = "for", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "for", Name = "text/x-fortran" });
            _mimeTypes.Add(new MimeType() { Extension = "fpx", Name = "image/vnd.fpx" });
            _mimeTypes.Add(new MimeType() { Extension = "fpx", Name = "image/vnd.net-fpx" });
            _mimeTypes.Add(new MimeType() { Extension = "frl", Name = "application/freeloader" });
            _mimeTypes.Add(new MimeType() { Extension = "funk", Name = "audio/make" });
            _mimeTypes.Add(new MimeType() { Extension = "g", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "g3", Name = "image/g3fax" });
            _mimeTypes.Add(new MimeType() { Extension = "gif", Name = "image/gif" });
            _mimeTypes.Add(new MimeType() { Extension = "gl", Name = "video/gl" });
            _mimeTypes.Add(new MimeType() { Extension = "gl", Name = "video/x-gl" });
            _mimeTypes.Add(new MimeType() { Extension = "gsd", Name = "audio/x-gsm" });
            _mimeTypes.Add(new MimeType() { Extension = "gsm", Name = "audio/x-gsm" });
            _mimeTypes.Add(new MimeType() { Extension = "gsp", Name = "application/x-gsp" });
            _mimeTypes.Add(new MimeType() { Extension = "gss", Name = "application/x-gss" });
            _mimeTypes.Add(new MimeType() { Extension = "gtar", Name = "application/x-gtar" });
            _mimeTypes.Add(new MimeType() { Extension = "gz", Name = "application/x-compressed" });
            _mimeTypes.Add(new MimeType() { Extension = "gz", Name = "application/x-gzip" });
            _mimeTypes.Add(new MimeType() { Extension = "gzip", Name = "application/x-gzip" });
            _mimeTypes.Add(new MimeType() { Extension = "gzip", Name = "multipart/x-gzip" });
            _mimeTypes.Add(new MimeType() { Extension = "h", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "h", Name = "text/x-h" });
            _mimeTypes.Add(new MimeType() { Extension = "hdf", Name = "application/x-hdf" });
            _mimeTypes.Add(new MimeType() { Extension = "help", Name = "application/x-helpfile" });
            _mimeTypes.Add(new MimeType() { Extension = "hgl", Name = "application/vnd.hp-hpgl" });
            _mimeTypes.Add(new MimeType() { Extension = "hh", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "hh", Name = "text/x-h" });
            _mimeTypes.Add(new MimeType() { Extension = "hlb", Name = "text/x-script" });
            _mimeTypes.Add(new MimeType() { Extension = "hlp", Name = "application/hlp" });
            _mimeTypes.Add(new MimeType() { Extension = "hlp", Name = "application/x-helpfile" });
            _mimeTypes.Add(new MimeType() { Extension = "hlp", Name = "application/x-winhelp" });
            _mimeTypes.Add(new MimeType() { Extension = "hpg", Name = "application/vnd.hp-hpgl" });
            _mimeTypes.Add(new MimeType() { Extension = "hpgl", Name = "application/vnd.hp-hpgl" });
            _mimeTypes.Add(new MimeType() { Extension = "hqx", Name = "application/binhex" });
            _mimeTypes.Add(new MimeType() { Extension = "hqx", Name = "application/binhex4" });
            _mimeTypes.Add(new MimeType() { Extension = "hqx", Name = "application/mac-binhex" });
            _mimeTypes.Add(new MimeType() { Extension = "hqx", Name = "application/mac-binhex40" });
            _mimeTypes.Add(new MimeType() { Extension = "hqx", Name = "application/x-binhex40" });
            _mimeTypes.Add(new MimeType() { Extension = "hqx", Name = "application/x-mac-binhex40" });
            _mimeTypes.Add(new MimeType() { Extension = "hta", Name = "application/hta" });
            _mimeTypes.Add(new MimeType() { Extension = "htc", Name = "text/x-component" });
            _mimeTypes.Add(new MimeType() { Extension = "htm", Name = "text/html" });
            _mimeTypes.Add(new MimeType() { Extension = "html", Name = "text/html" });
            _mimeTypes.Add(new MimeType() { Extension = "htmls", Name = "text/html" });
            _mimeTypes.Add(new MimeType() { Extension = "htt", Name = "text/webviewhtml" });
            _mimeTypes.Add(new MimeType() { Extension = "htx", Name = "text/html" });
            _mimeTypes.Add(new MimeType() { Extension = "ice", Name = "x-conference/x-cooltalk" });
            _mimeTypes.Add(new MimeType() { Extension = "ico", Name = "image/x-icon" });
            _mimeTypes.Add(new MimeType() { Extension = "idc", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "ief", Name = "image/ief" });
            _mimeTypes.Add(new MimeType() { Extension = "iefs", Name = "image/ief" });
            _mimeTypes.Add(new MimeType() { Extension = "iges", Name = "application/iges" });
            _mimeTypes.Add(new MimeType() { Extension = "iges", Name = "model/iges" });
            _mimeTypes.Add(new MimeType() { Extension = "igs", Name = "application/iges" });
            _mimeTypes.Add(new MimeType() { Extension = "igs", Name = "model/iges" });
            _mimeTypes.Add(new MimeType() { Extension = "ima", Name = "application/x-ima" });
            _mimeTypes.Add(new MimeType() { Extension = "imap", Name = "application/x-httpd-imap" });
            _mimeTypes.Add(new MimeType() { Extension = "inf", Name = "application/inf" });
            _mimeTypes.Add(new MimeType() { Extension = "ins", Name = "application/x-internett-signup" });
            _mimeTypes.Add(new MimeType() { Extension = "ip", Name = "application/x-ip2" });
            _mimeTypes.Add(new MimeType() { Extension = "isu", Name = "video/x-isvideo" });
            _mimeTypes.Add(new MimeType() { Extension = "it", Name = "audio/it" });
            _mimeTypes.Add(new MimeType() { Extension = "iv", Name = "application/x-inventor" });
            _mimeTypes.Add(new MimeType() { Extension = "ivr", Name = "i-world/i-vrml" });
            _mimeTypes.Add(new MimeType() { Extension = "ivy", Name = "application/x-livescreen" });
            _mimeTypes.Add(new MimeType() { Extension = "jam", Name = "audio/x-jam" });
            _mimeTypes.Add(new MimeType() { Extension = "jav", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "jav", Name = "text/x-java-source" });
            _mimeTypes.Add(new MimeType() { Extension = "java", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "java", Name = "text/x-java-source" });
            _mimeTypes.Add(new MimeType() { Extension = "jcm", Name = "application/x-java-commerce" });
            _mimeTypes.Add(new MimeType() { Extension = "jfif", Name = "image/jpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "jfif", Name = "image/pjpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "jfif-tbnl", Name = "image/jpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "jpe", Name = "image/jpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "jpe", Name = "image/pjpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "jpeg", Name = "image/jpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "jpeg", Name = "image/pjpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "jpg", Name = "image/jpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "jpg", Name = "image/pjpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "jps", Name = "image/x-jps" });
            _mimeTypes.Add(new MimeType() { Extension = "js", Name = "application/x-javascript" });
            _mimeTypes.Add(new MimeType() { Extension = "jut", Name = "image/jutvision" });
            _mimeTypes.Add(new MimeType() { Extension = "kar", Name = "audio/midi" });
            _mimeTypes.Add(new MimeType() { Extension = "kar", Name = "music/x-karaoke" });
            _mimeTypes.Add(new MimeType() { Extension = "ksh", Name = "application/x-ksh" });
            _mimeTypes.Add(new MimeType() { Extension = "ksh", Name = "text/x-script.ksh" });
            _mimeTypes.Add(new MimeType() { Extension = "la", Name = "audio/nspaudio" });
            _mimeTypes.Add(new MimeType() { Extension = "la", Name = "audio/x-nspaudio" });
            _mimeTypes.Add(new MimeType() { Extension = "lam", Name = "audio/x-liveaudio" });
            _mimeTypes.Add(new MimeType() { Extension = "latex", Name = "application/x-latex" });
            _mimeTypes.Add(new MimeType() { Extension = "lha", Name = "application/lha" });
            _mimeTypes.Add(new MimeType() { Extension = "lha", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "lha", Name = "application/x-lha" });
            _mimeTypes.Add(new MimeType() { Extension = "lhx", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "list", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "lma", Name = "audio/nspaudio" });
            _mimeTypes.Add(new MimeType() { Extension = "lma", Name = "audio/x-nspaudio" });
            _mimeTypes.Add(new MimeType() { Extension = "log", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "lsp", Name = "application/x-lisp" });
            _mimeTypes.Add(new MimeType() { Extension = "lsp", Name = "text/x-script.lisp" });
            _mimeTypes.Add(new MimeType() { Extension = "lst", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "lsx", Name = "text/x-la-asf" });
            _mimeTypes.Add(new MimeType() { Extension = "ltx", Name = "application/x-latex" });
            _mimeTypes.Add(new MimeType() { Extension = "lzh", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "lzh", Name = "application/x-lzh" });
            _mimeTypes.Add(new MimeType() { Extension = "lzx", Name = "application/lzx" });
            _mimeTypes.Add(new MimeType() { Extension = "lzx", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "lzx", Name = "application/x-lzx" });
            _mimeTypes.Add(new MimeType() { Extension = "m", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "m", Name = "text/x-m" });
            _mimeTypes.Add(new MimeType() { Extension = "m1v", Name = "video/mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "m2a", Name = "audio/mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "m2v", Name = "video/mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "m3u", Name = "audio/x-mpequrl" });
            _mimeTypes.Add(new MimeType() { Extension = "man", Name = "application/x-troff-man" });
            _mimeTypes.Add(new MimeType() { Extension = "map", Name = "application/x-navimap" });
            _mimeTypes.Add(new MimeType() { Extension = "mar", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "mbd", Name = "application/mbedlet" });
            _mimeTypes.Add(new MimeType() { Extension = "mc$", Name = "application/x-magic-cap-package-1.0" });
            _mimeTypes.Add(new MimeType() { Extension = "mcd", Name = "application/mcad" });
            _mimeTypes.Add(new MimeType() { Extension = "mcd", Name = "application/x-mathcad" });
            _mimeTypes.Add(new MimeType() { Extension = "mcf", Name = "image/vasa" });
            _mimeTypes.Add(new MimeType() { Extension = "mcf", Name = "text/mcf" });
            _mimeTypes.Add(new MimeType() { Extension = "mcp", Name = "application/netmc" });
            _mimeTypes.Add(new MimeType() { Extension = "me", Name = "application/x-troff-me" });
            _mimeTypes.Add(new MimeType() { Extension = "mht", Name = "message/rfc822" });
            _mimeTypes.Add(new MimeType() { Extension = "mhtml", Name = "message/rfc822" });
            _mimeTypes.Add(new MimeType() { Extension = "mid", Name = "application/x-midi" });
            _mimeTypes.Add(new MimeType() { Extension = "mid", Name = "audio/midi" });
            _mimeTypes.Add(new MimeType() { Extension = "mid", Name = "audio/x-mid" });
            _mimeTypes.Add(new MimeType() { Extension = "mid", Name = "audio/x-midi" });
            _mimeTypes.Add(new MimeType() { Extension = "mid", Name = "music/crescendo" });
            _mimeTypes.Add(new MimeType() { Extension = "mid", Name = "x-music/x-midi" });
            _mimeTypes.Add(new MimeType() { Extension = "midi", Name = "application/x-midi" });
            _mimeTypes.Add(new MimeType() { Extension = "midi", Name = "audio/midi" });
            _mimeTypes.Add(new MimeType() { Extension = "midi", Name = "audio/x-mid" });
            _mimeTypes.Add(new MimeType() { Extension = "midi", Name = "audio/x-midi" });
            _mimeTypes.Add(new MimeType() { Extension = "midi", Name = "music/crescendo" });
            _mimeTypes.Add(new MimeType() { Extension = "midi", Name = "x-music/x-midi" });
            _mimeTypes.Add(new MimeType() { Extension = "mif", Name = "application/x-frame" });
            _mimeTypes.Add(new MimeType() { Extension = "mif", Name = "application/x-mif" });
            _mimeTypes.Add(new MimeType() { Extension = "mime", Name = "message/rfc822" });
            _mimeTypes.Add(new MimeType() { Extension = "mime", Name = "www/mime" });
            _mimeTypes.Add(new MimeType() { Extension = "mjf", Name = "audio/x-vnd.audioexplosion.mjuicemediafile" });
            _mimeTypes.Add(new MimeType() { Extension = "mjpg", Name = "video/x-motion-jpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mm", Name = "application/base64" });
            _mimeTypes.Add(new MimeType() { Extension = "mm", Name = "application/x-meme" });
            _mimeTypes.Add(new MimeType() { Extension = "mme", Name = "application/base64" });
            _mimeTypes.Add(new MimeType() { Extension = "mod", Name = "audio/mod" });
            _mimeTypes.Add(new MimeType() { Extension = "mod", Name = "audio/x-mod" });
            _mimeTypes.Add(new MimeType() { Extension = "moov", Name = "video/quicktime" });
            _mimeTypes.Add(new MimeType() { Extension = "mov", Name = "video/quicktime" });
            _mimeTypes.Add(new MimeType() { Extension = "movie", Name = "video/x-sgi-movie" });
            _mimeTypes.Add(new MimeType() { Extension = "mp2", Name = "audio/mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mp2", Name = "audio/x-mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mp2", Name = "video/mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mp2", Name = "video/x-mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mp2", Name = "video/x-mpeq2a" });
            _mimeTypes.Add(new MimeType() { Extension = "mp3", Name = "audio/mpeg3" });
            _mimeTypes.Add(new MimeType() { Extension = "mp3", Name = "audio/x-mpeg-3" });
            _mimeTypes.Add(new MimeType() { Extension = "mp3", Name = "video/mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mp3", Name = "video/x-mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mpa", Name = "audio/mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mpa", Name = "video/mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mpc", Name = "application/x-project" });
            _mimeTypes.Add(new MimeType() { Extension = "mpe", Name = "video/mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mpeg", Name = "video/mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mpg", Name = "audio/mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mpg", Name = "video/mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mpga", Name = "audio/mpeg" });
            _mimeTypes.Add(new MimeType() { Extension = "mpp", Name = "application/vnd.ms-project" });
            _mimeTypes.Add(new MimeType() { Extension = "mpt", Name = "application/x-project" });
            _mimeTypes.Add(new MimeType() { Extension = "mpv", Name = "application/x-project" });
            _mimeTypes.Add(new MimeType() { Extension = "mpx", Name = "application/x-project" });
            _mimeTypes.Add(new MimeType() { Extension = "mrc", Name = "application/marc" });
            _mimeTypes.Add(new MimeType() { Extension = "ms", Name = "application/x-troff-ms" });
            _mimeTypes.Add(new MimeType() { Extension = "mv", Name = "video/x-sgi-movie" });
            _mimeTypes.Add(new MimeType() { Extension = "my", Name = "audio/make" });
            _mimeTypes.Add(new MimeType() { Extension = "mzz", Name = "application/x-vnd.audioexplosion.mzz" });
            _mimeTypes.Add(new MimeType() { Extension = "nap", Name = "image/naplps" });
            _mimeTypes.Add(new MimeType() { Extension = "naplps", Name = "image/naplps" });
            _mimeTypes.Add(new MimeType() { Extension = "nc", Name = "application/x-netcdf" });
            _mimeTypes.Add(new MimeType() { Extension = "ncm", Name = "application/vnd.nokia.configuration-message" });
            _mimeTypes.Add(new MimeType() { Extension = "nif", Name = "image/x-niff" });
            _mimeTypes.Add(new MimeType() { Extension = "niff", Name = "image/x-niff" });
            _mimeTypes.Add(new MimeType() { Extension = "nix", Name = "application/x-mix-transfer" });
            _mimeTypes.Add(new MimeType() { Extension = "nsc", Name = "application/x-conference" });
            _mimeTypes.Add(new MimeType() { Extension = "nvd", Name = "application/x-navidoc" });
            _mimeTypes.Add(new MimeType() { Extension = "o", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "oda", Name = "application/oda" });
            _mimeTypes.Add(new MimeType() { Extension = "omc", Name = "application/x-omc" });
            _mimeTypes.Add(new MimeType() { Extension = "omcd", Name = "application/x-omcdatamaker" });
            _mimeTypes.Add(new MimeType() { Extension = "omcr", Name = "application/x-omcregerator" });
            _mimeTypes.Add(new MimeType() { Extension = "p", Name = "text/x-pascal" });
            _mimeTypes.Add(new MimeType() { Extension = "p10", Name = "application/pkcs10" });
            _mimeTypes.Add(new MimeType() { Extension = "p10", Name = "application/x-pkcs10" });
            _mimeTypes.Add(new MimeType() { Extension = "p12", Name = "application/pkcs-12" });
            _mimeTypes.Add(new MimeType() { Extension = "p12", Name = "application/x-pkcs12" });
            _mimeTypes.Add(new MimeType() { Extension = "p7a", Name = "application/x-pkcs7-signature" });
            _mimeTypes.Add(new MimeType() { Extension = "p7c", Name = "application/pkcs7-mime" });
            _mimeTypes.Add(new MimeType() { Extension = "p7c", Name = "application/x-pkcs7-mime" });
            _mimeTypes.Add(new MimeType() { Extension = "p7m", Name = "application/pkcs7-mime" });
            _mimeTypes.Add(new MimeType() { Extension = "p7m", Name = "application/x-pkcs7-mime" });
            _mimeTypes.Add(new MimeType() { Extension = "p7r", Name = "application/x-pkcs7-certreqresp" });
            _mimeTypes.Add(new MimeType() { Extension = "p7s", Name = "application/pkcs7-signature" });
            _mimeTypes.Add(new MimeType() { Extension = "part", Name = "application/pro_eng" });
            _mimeTypes.Add(new MimeType() { Extension = "pas", Name = "text/pascal" });
            _mimeTypes.Add(new MimeType() { Extension = "pbm", Name = "image/x-portable-bitmap" });
            _mimeTypes.Add(new MimeType() { Extension = "pcl", Name = "application/vnd.hp-pcl" });
            _mimeTypes.Add(new MimeType() { Extension = "pcl", Name = "application/x-pcl" });
            _mimeTypes.Add(new MimeType() { Extension = "pct", Name = "image/x-pict" });
            _mimeTypes.Add(new MimeType() { Extension = "pcx", Name = "image/x-pcx" });
            _mimeTypes.Add(new MimeType() { Extension = "pdb", Name = "chemical/x-pdb" });
            _mimeTypes.Add(new MimeType() { Extension = "pdf", Name = "application/pdf" });
            _mimeTypes.Add(new MimeType() { Extension = "pfunk", Name = "audio/make" });
            _mimeTypes.Add(new MimeType() { Extension = "pfunk", Name = "audio/make.my.funk" });
            _mimeTypes.Add(new MimeType() { Extension = "pgm", Name = "image/x-portable-graymap" });
            _mimeTypes.Add(new MimeType() { Extension = "pgm", Name = "image/x-portable-greymap" });
            _mimeTypes.Add(new MimeType() { Extension = "pic", Name = "image/pict" });
            _mimeTypes.Add(new MimeType() { Extension = "pict", Name = "image/pict" });
            _mimeTypes.Add(new MimeType() { Extension = "pkg", Name = "application/x-newton-compatible-pkg" });
            _mimeTypes.Add(new MimeType() { Extension = "pko", Name = "application/vnd.ms-pki.pko" });
            _mimeTypes.Add(new MimeType() { Extension = "pl", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "pl", Name = "text/x-script.perl" });
            _mimeTypes.Add(new MimeType() { Extension = "plx", Name = "application/x-pixclscript" });
            _mimeTypes.Add(new MimeType() { Extension = "pm", Name = "image/x-xpixmap" });
            _mimeTypes.Add(new MimeType() { Extension = "pm", Name = "text/x-script.perl-module" });
            _mimeTypes.Add(new MimeType() { Extension = "pm4", Name = "application/x-pagemaker" });
            _mimeTypes.Add(new MimeType() { Extension = "pm5", Name = "application/x-pagemaker" });
            _mimeTypes.Add(new MimeType() { Extension = "png", Name = "image/png" });
            _mimeTypes.Add(new MimeType() { Extension = "pnm", Name = "application/x-portable-anymap" });
            _mimeTypes.Add(new MimeType() { Extension = "pnm", Name = "image/x-portable-anymap" });
            _mimeTypes.Add(new MimeType() { Extension = "pot", Name = "application/mspowerpoint" });
            _mimeTypes.Add(new MimeType() { Extension = "pot", Name = "application/vnd.ms-powerpoint" });
            _mimeTypes.Add(new MimeType() { Extension = "pov", Name = "model/x-pov" });
            _mimeTypes.Add(new MimeType() { Extension = "ppa", Name = "application/vnd.ms-powerpoint" });
            _mimeTypes.Add(new MimeType() { Extension = "ppm", Name = "image/x-portable-pixmap" });
            _mimeTypes.Add(new MimeType() { Extension = "pps", Name = "application/mspowerpoint" });
            _mimeTypes.Add(new MimeType() { Extension = "pps", Name = "application/vnd.ms-powerpoint" });
            _mimeTypes.Add(new MimeType() { Extension = "ppt", Name = "application/mspowerpoint" });
            _mimeTypes.Add(new MimeType() { Extension = "ppt", Name = "application/powerpoint" });
            _mimeTypes.Add(new MimeType() { Extension = "ppt", Name = "application/vnd.ms-powerpoint" });
            _mimeTypes.Add(new MimeType() { Extension = "pptx", Name = "application/mspowerpoint" }); //TODO
            _mimeTypes.Add(new MimeType() { Extension = "ppt", Name = "application/x-mspowerpoint" });
            _mimeTypes.Add(new MimeType() { Extension = "ppz", Name = "application/mspowerpoint" });
            _mimeTypes.Add(new MimeType() { Extension = "pre", Name = "application/x-freelance" });
            _mimeTypes.Add(new MimeType() { Extension = "prt", Name = "application/pro_eng" });
            _mimeTypes.Add(new MimeType() { Extension = "ps", Name = "application/postscript" });
            _mimeTypes.Add(new MimeType() { Extension = "psd", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "pvu", Name = "paleovu/x-pv" });
            _mimeTypes.Add(new MimeType() { Extension = "pwz", Name = "application/vnd.ms-powerpoint" });
            _mimeTypes.Add(new MimeType() { Extension = "py", Name = "text/x-script.phyton" });
            _mimeTypes.Add(new MimeType() { Extension = "pyc", Name = "applicaiton/x-bytecode.python" });
            _mimeTypes.Add(new MimeType() { Extension = "qcp", Name = "audio/vnd.qcelp" });
            _mimeTypes.Add(new MimeType() { Extension = "qd3", Name = "x-world/x-3dmf" });
            _mimeTypes.Add(new MimeType() { Extension = "qd3d", Name = "x-world/x-3dmf" });
            _mimeTypes.Add(new MimeType() { Extension = "qif", Name = "image/x-quicktime" });
            _mimeTypes.Add(new MimeType() { Extension = "qt", Name = "video/quicktime" });
            _mimeTypes.Add(new MimeType() { Extension = "qtc", Name = "video/x-qtc" });
            _mimeTypes.Add(new MimeType() { Extension = "qti", Name = "image/x-quicktime" });
            _mimeTypes.Add(new MimeType() { Extension = "qtif", Name = "image/x-quicktime" });
            _mimeTypes.Add(new MimeType() { Extension = "ra", Name = "audio/x-pn-realaudio" });
            _mimeTypes.Add(new MimeType() { Extension = "ra", Name = "audio/x-pn-realaudio-plugin" });
            _mimeTypes.Add(new MimeType() { Extension = "ra", Name = "audio/x-realaudio" });
            _mimeTypes.Add(new MimeType() { Extension = "ram", Name = "audio/x-pn-realaudio" });
            _mimeTypes.Add(new MimeType() { Extension = "ras", Name = "application/x-cmu-raster" });
            _mimeTypes.Add(new MimeType() { Extension = "ras", Name = "image/cmu-raster" });
            _mimeTypes.Add(new MimeType() { Extension = "ras", Name = "image/x-cmu-raster" });
            _mimeTypes.Add(new MimeType() { Extension = "rast", Name = "image/cmu-raster" });
            _mimeTypes.Add(new MimeType() { Extension = "rexx", Name = "text/x-script.rexx" });
            _mimeTypes.Add(new MimeType() { Extension = "rf", Name = "image/vnd.rn-realflash" });
            _mimeTypes.Add(new MimeType() { Extension = "rgb", Name = "image/x-rgb" });
            _mimeTypes.Add(new MimeType() { Extension = "rm", Name = "application/vnd.rn-realmedia" });
            _mimeTypes.Add(new MimeType() { Extension = "rm", Name = "audio/x-pn-realaudio" });
            _mimeTypes.Add(new MimeType() { Extension = "rmi", Name = "audio/mid" });
            _mimeTypes.Add(new MimeType() { Extension = "rmm", Name = "audio/x-pn-realaudio" });
            _mimeTypes.Add(new MimeType() { Extension = "rmp", Name = "audio/x-pn-realaudio" });
            _mimeTypes.Add(new MimeType() { Extension = "rmp", Name = "audio/x-pn-realaudio-plugin" });
            _mimeTypes.Add(new MimeType() { Extension = "rng", Name = "application/ringing-tones" });
            _mimeTypes.Add(new MimeType() { Extension = "rng", Name = "application/vnd.nokia.ringing-tone" });
            _mimeTypes.Add(new MimeType() { Extension = "rnx", Name = "application/vnd.rn-realplayer" });
            _mimeTypes.Add(new MimeType() { Extension = "roff", Name = "application/x-troff" });
            _mimeTypes.Add(new MimeType() { Extension = "rp", Name = "image/vnd.rn-realpix" });
            _mimeTypes.Add(new MimeType() { Extension = "rpm", Name = "audio/x-pn-realaudio-plugin" });
            _mimeTypes.Add(new MimeType() { Extension = "rt", Name = "text/richtext" });
            _mimeTypes.Add(new MimeType() { Extension = "rt", Name = "text/vnd.rn-realtext" });
            _mimeTypes.Add(new MimeType() { Extension = "rtf", Name = "application/rtf" });
            _mimeTypes.Add(new MimeType() { Extension = "rtf", Name = "application/x-rtf" });
            _mimeTypes.Add(new MimeType() { Extension = "rtf", Name = "text/richtext" });
            _mimeTypes.Add(new MimeType() { Extension = "rtx", Name = "application/rtf" });
            _mimeTypes.Add(new MimeType() { Extension = "rtx", Name = "text/richtext" });
            _mimeTypes.Add(new MimeType() { Extension = "rv", Name = "video/vnd.rn-realvideo" });
            _mimeTypes.Add(new MimeType() { Extension = "s", Name = "text/x-asm" });
            _mimeTypes.Add(new MimeType() { Extension = "s3m", Name = "audio/s3m" });
            _mimeTypes.Add(new MimeType() { Extension = "saveme", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "sbk", Name = "application/x-tbook" });
            _mimeTypes.Add(new MimeType() { Extension = "scm", Name = "application/x-lotusscreencam" });
            _mimeTypes.Add(new MimeType() { Extension = "scm", Name = "text/x-script.guile" });
            _mimeTypes.Add(new MimeType() { Extension = "scm", Name = "text/x-script.scheme" });
            _mimeTypes.Add(new MimeType() { Extension = "scm", Name = "video/x-scm" });
            _mimeTypes.Add(new MimeType() { Extension = "sdml", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "sdp", Name = "application/sdp" });
            _mimeTypes.Add(new MimeType() { Extension = "sdp", Name = "application/x-sdp" });
            _mimeTypes.Add(new MimeType() { Extension = "sdr", Name = "application/sounder" });
            _mimeTypes.Add(new MimeType() { Extension = "sea", Name = "application/sea" });
            _mimeTypes.Add(new MimeType() { Extension = "sea", Name = "application/x-sea" });
            _mimeTypes.Add(new MimeType() { Extension = "set", Name = "application/set" });
            _mimeTypes.Add(new MimeType() { Extension = "sgm", Name = "text/sgml" });
            _mimeTypes.Add(new MimeType() { Extension = "sgm", Name = "text/x-sgml" });
            _mimeTypes.Add(new MimeType() { Extension = "sgml", Name = "text/sgml" });
            _mimeTypes.Add(new MimeType() { Extension = "sgml", Name = "text/x-sgml" });
            _mimeTypes.Add(new MimeType() { Extension = "sh", Name = "application/x-bsh" });
            _mimeTypes.Add(new MimeType() { Extension = "sh", Name = "application/x-sh" });
            _mimeTypes.Add(new MimeType() { Extension = "sh", Name = "application/x-shar" });
            _mimeTypes.Add(new MimeType() { Extension = "sh", Name = "text/x-script.sh" });
            _mimeTypes.Add(new MimeType() { Extension = "shar", Name = "application/x-bsh" });
            _mimeTypes.Add(new MimeType() { Extension = "shar", Name = "application/x-shar" });
            _mimeTypes.Add(new MimeType() { Extension = "shtml", Name = "text/html" });
            _mimeTypes.Add(new MimeType() { Extension = "shtml", Name = "text/x-server-parsed-html" });
            _mimeTypes.Add(new MimeType() { Extension = "sid", Name = "audio/x-psid" });
            _mimeTypes.Add(new MimeType() { Extension = "sit", Name = "application/x-sit" });
            _mimeTypes.Add(new MimeType() { Extension = "sit", Name = "application/x-stuffit" });
            _mimeTypes.Add(new MimeType() { Extension = "skd", Name = "application/x-koan" });
            _mimeTypes.Add(new MimeType() { Extension = "skm", Name = "application/x-koan" });
            _mimeTypes.Add(new MimeType() { Extension = "skp", Name = "application/x-koan" });
            _mimeTypes.Add(new MimeType() { Extension = "skt", Name = "application/x-koan" });
            _mimeTypes.Add(new MimeType() { Extension = "sl", Name = "application/x-seelogo" });
            _mimeTypes.Add(new MimeType() { Extension = "smi", Name = "application/smil" });
            _mimeTypes.Add(new MimeType() { Extension = "smil", Name = "application/smil" });
            _mimeTypes.Add(new MimeType() { Extension = "snd", Name = "audio/basic" });
            _mimeTypes.Add(new MimeType() { Extension = "snd", Name = "audio/x-adpcm" });
            _mimeTypes.Add(new MimeType() { Extension = "sol", Name = "application/solids" });
            _mimeTypes.Add(new MimeType() { Extension = "spc", Name = "application/x-pkcs7-certificates" });
            _mimeTypes.Add(new MimeType() { Extension = "spc", Name = "text/x-speech" });
            _mimeTypes.Add(new MimeType() { Extension = "spl", Name = "application/futuresplash" });
            _mimeTypes.Add(new MimeType() { Extension = "spr", Name = "application/x-sprite" });
            _mimeTypes.Add(new MimeType() { Extension = "sprite", Name = "application/x-sprite" });
            _mimeTypes.Add(new MimeType() { Extension = "src", Name = "application/x-wais-source" });
            _mimeTypes.Add(new MimeType() { Extension = "ssi", Name = "text/x-server-parsed-html" });
            _mimeTypes.Add(new MimeType() { Extension = "ssm", Name = "application/streamingmedia" });
            _mimeTypes.Add(new MimeType() { Extension = "sst", Name = "application/vnd.ms-pki.certstore" });
            _mimeTypes.Add(new MimeType() { Extension = "step", Name = "application/step" });
            _mimeTypes.Add(new MimeType() { Extension = "stl", Name = "application/sla" });
            _mimeTypes.Add(new MimeType() { Extension = "stl", Name = "application/vnd.ms-pki.stl" });
            _mimeTypes.Add(new MimeType() { Extension = "stl", Name = "application/x-navistyle" });
            _mimeTypes.Add(new MimeType() { Extension = "stp", Name = "application/step" });
            _mimeTypes.Add(new MimeType() { Extension = "sv4cpio", Name = "application/x-sv4cpio" });
            _mimeTypes.Add(new MimeType() { Extension = "sv4crc", Name = "application/x-sv4crc" });
            _mimeTypes.Add(new MimeType() { Extension = "svf", Name = "image/vnd.dwg" });
            _mimeTypes.Add(new MimeType() { Extension = "svf", Name = "image/x-dwg" });
            _mimeTypes.Add(new MimeType() { Extension = "svr", Name = "application/x-world" });
            _mimeTypes.Add(new MimeType() { Extension = "svr", Name = "x-world/x-svr" });
            _mimeTypes.Add(new MimeType() { Extension = "swf", Name = "application/x-shockwave-flash" });
            _mimeTypes.Add(new MimeType() { Extension = "t", Name = "application/x-troff" });
            _mimeTypes.Add(new MimeType() { Extension = "talk", Name = "text/x-speech" });
            _mimeTypes.Add(new MimeType() { Extension = "tar", Name = "application/x-tar" });
            _mimeTypes.Add(new MimeType() { Extension = "tbk", Name = "application/toolbook" });
            _mimeTypes.Add(new MimeType() { Extension = "tbk", Name = "application/x-tbook" });
            _mimeTypes.Add(new MimeType() { Extension = "tcl", Name = "application/x-tcl" });
            _mimeTypes.Add(new MimeType() { Extension = "tcl", Name = "text/x-script.tcl" });
            _mimeTypes.Add(new MimeType() { Extension = "tcsh", Name = "text/x-script.tcsh" });
            _mimeTypes.Add(new MimeType() { Extension = "tex", Name = "application/x-tex" });
            _mimeTypes.Add(new MimeType() { Extension = "texi", Name = "application/x-texinfo" });
            _mimeTypes.Add(new MimeType() { Extension = "texinfo", Name = "application/x-texinfo" });
            _mimeTypes.Add(new MimeType() { Extension = "text", Name = "application/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "text", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "tgz", Name = "application/gnutar" });
            _mimeTypes.Add(new MimeType() { Extension = "tgz", Name = "application/x-compressed" });
            _mimeTypes.Add(new MimeType() { Extension = "tif", Name = "image/tiff" });
            _mimeTypes.Add(new MimeType() { Extension = "tif", Name = "image/x-tiff" });
            _mimeTypes.Add(new MimeType() { Extension = "tiff", Name = "image/tiff" });
            _mimeTypes.Add(new MimeType() { Extension = "tiff", Name = "image/x-tiff" });
            _mimeTypes.Add(new MimeType() { Extension = "tr", Name = "application/x-troff" });
            _mimeTypes.Add(new MimeType() { Extension = "tsi", Name = "audio/tsp-audio" });
            _mimeTypes.Add(new MimeType() { Extension = "tsp", Name = "application/dsptype" });
            _mimeTypes.Add(new MimeType() { Extension = "tsp", Name = "audio/tsplayer" });
            _mimeTypes.Add(new MimeType() { Extension = "tsv", Name = "text/tab-separated-values" });
            _mimeTypes.Add(new MimeType() { Extension = "turbot", Name = "image/florian" });
            _mimeTypes.Add(new MimeType() { Extension = "txt", Name = "text/plain" });
            _mimeTypes.Add(new MimeType() { Extension = "uil", Name = "text/x-uil" });
            _mimeTypes.Add(new MimeType() { Extension = "uni", Name = "text/uri-list" });
            _mimeTypes.Add(new MimeType() { Extension = "unis", Name = "text/uri-list" });
            _mimeTypes.Add(new MimeType() { Extension = "unv", Name = "application/i-deas" });
            _mimeTypes.Add(new MimeType() { Extension = "uri", Name = "text/uri-list" });
            _mimeTypes.Add(new MimeType() { Extension = "uris", Name = "text/uri-list" });
            _mimeTypes.Add(new MimeType() { Extension = "ustar", Name = "application/x-ustar" });
            _mimeTypes.Add(new MimeType() { Extension = "ustar", Name = "multipart/x-ustar" });
            _mimeTypes.Add(new MimeType() { Extension = "uu", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "uu", Name = "text/x-uuencode" });
            _mimeTypes.Add(new MimeType() { Extension = "uue", Name = "text/x-uuencode" });
            _mimeTypes.Add(new MimeType() { Extension = "vcd", Name = "application/x-cdlink" });
            _mimeTypes.Add(new MimeType() { Extension = "vcs", Name = "text/x-vcalendar" });
            _mimeTypes.Add(new MimeType() { Extension = "vda", Name = "application/vda" });
            _mimeTypes.Add(new MimeType() { Extension = "vdo", Name = "video/vdo" });
            _mimeTypes.Add(new MimeType() { Extension = "vew", Name = "application/groupwise" });
            _mimeTypes.Add(new MimeType() { Extension = "viv", Name = "video/vivo" });
            _mimeTypes.Add(new MimeType() { Extension = "viv", Name = "video/vnd.vivo" });
            _mimeTypes.Add(new MimeType() { Extension = "vivo", Name = "video/vivo" });
            _mimeTypes.Add(new MimeType() { Extension = "vivo", Name = "video/vnd.vivo" });
            _mimeTypes.Add(new MimeType() { Extension = "vmd", Name = "application/vocaltec-media-desc" });
            _mimeTypes.Add(new MimeType() { Extension = "vmf", Name = "application/vocaltec-media-file" });
            _mimeTypes.Add(new MimeType() { Extension = "voc", Name = "audio/voc" });
            _mimeTypes.Add(new MimeType() { Extension = "voc", Name = "audio/x-voc" });
            _mimeTypes.Add(new MimeType() { Extension = "vos", Name = "video/vosaic" });
            _mimeTypes.Add(new MimeType() { Extension = "vox", Name = "audio/voxware" });
            _mimeTypes.Add(new MimeType() { Extension = "vqe", Name = "audio/x-twinvq-plugin" });
            _mimeTypes.Add(new MimeType() { Extension = "vqf", Name = "audio/x-twinvq" });
            _mimeTypes.Add(new MimeType() { Extension = "vql", Name = "audio/x-twinvq-plugin" });
            _mimeTypes.Add(new MimeType() { Extension = "vrml", Name = "application/x-vrml" });
            _mimeTypes.Add(new MimeType() { Extension = "vrml", Name = "model/vrml" });
            _mimeTypes.Add(new MimeType() { Extension = "vrml", Name = "x-world/x-vrml" });
            _mimeTypes.Add(new MimeType() { Extension = "vrt", Name = "x-world/x-vrt" });
            _mimeTypes.Add(new MimeType() { Extension = "vsd", Name = "application/x-visio" });
            _mimeTypes.Add(new MimeType() { Extension = "vst", Name = "application/x-visio" });
            _mimeTypes.Add(new MimeType() { Extension = "vsw", Name = "application/x-visio" });
            _mimeTypes.Add(new MimeType() { Extension = "w60", Name = "application/wordperfect6.0" });
            _mimeTypes.Add(new MimeType() { Extension = "w61", Name = "application/wordperfect6.1" });
            _mimeTypes.Add(new MimeType() { Extension = "w6w", Name = "application/msword" });
            _mimeTypes.Add(new MimeType() { Extension = "wav", Name = "audio/wav" });
            _mimeTypes.Add(new MimeType() { Extension = "wav", Name = "audio/x-wav" });
            _mimeTypes.Add(new MimeType() { Extension = "wb1", Name = "application/x-qpro" });
            _mimeTypes.Add(new MimeType() { Extension = "wbmp", Name = "image/vnd.wap.wbmp" });
            _mimeTypes.Add(new MimeType() { Extension = "web", Name = "application/vnd.xara" });
            _mimeTypes.Add(new MimeType() { Extension = "wiz", Name = "application/msword" });
            _mimeTypes.Add(new MimeType() { Extension = "wk1", Name = "application/x-123" });
            _mimeTypes.Add(new MimeType() { Extension = "wmf", Name = "windows/metafile" });
            _mimeTypes.Add(new MimeType() { Extension = "wml", Name = "text/vnd.wap.wml" });
            _mimeTypes.Add(new MimeType() { Extension = "wmlc", Name = "application/vnd.wap.wmlc" });
            _mimeTypes.Add(new MimeType() { Extension = "wmls", Name = "text/vnd.wap.wmlscript" });
            _mimeTypes.Add(new MimeType() { Extension = "wmlsc", Name = "application/vnd.wap.wmlscriptc" });
            _mimeTypes.Add(new MimeType() { Extension = "word", Name = "application/msword" });
            _mimeTypes.Add(new MimeType() { Extension = "wp", Name = "application/wordperfect" });
            _mimeTypes.Add(new MimeType() { Extension = "wp5", Name = "application/wordperfect" });
            _mimeTypes.Add(new MimeType() { Extension = "wp5", Name = "application/wordperfect6.0" });
            _mimeTypes.Add(new MimeType() { Extension = "wp6", Name = "application/wordperfect" });
            _mimeTypes.Add(new MimeType() { Extension = "wpd", Name = "application/wordperfect" });
            _mimeTypes.Add(new MimeType() { Extension = "wpd", Name = "application/x-wpwin" });
            _mimeTypes.Add(new MimeType() { Extension = "wq1", Name = "application/x-lotus" });
            _mimeTypes.Add(new MimeType() { Extension = "wri", Name = "application/mswrite" });
            _mimeTypes.Add(new MimeType() { Extension = "wri", Name = "application/x-wri" });
            _mimeTypes.Add(new MimeType() { Extension = "wrl", Name = "application/x-world" });
            _mimeTypes.Add(new MimeType() { Extension = "wrl", Name = "model/vrml" });
            _mimeTypes.Add(new MimeType() { Extension = "wrl", Name = "x-world/x-vrml" });
            _mimeTypes.Add(new MimeType() { Extension = "wrz", Name = "model/vrml" });
            _mimeTypes.Add(new MimeType() { Extension = "wrz", Name = "x-world/x-vrml" });
            _mimeTypes.Add(new MimeType() { Extension = "wsc", Name = "text/scriplet" });
            _mimeTypes.Add(new MimeType() { Extension = "wsrc", Name = "application/x-wais-source" });
            _mimeTypes.Add(new MimeType() { Extension = "wtk", Name = "application/x-wintalk" });
            _mimeTypes.Add(new MimeType() { Extension = "xbm", Name = "image/x-xbitmap" });
            _mimeTypes.Add(new MimeType() { Extension = "xbm", Name = "image/x-xbm" });
            _mimeTypes.Add(new MimeType() { Extension = "xbm", Name = "image/xbm" });
            _mimeTypes.Add(new MimeType() { Extension = "xdr", Name = "video/x-amt-demorun" });
            _mimeTypes.Add(new MimeType() { Extension = "xgz", Name = "xgl/drawing" });
            _mimeTypes.Add(new MimeType() { Extension = "xif", Name = "image/vnd.xiff" });
            _mimeTypes.Add(new MimeType() { Extension = "xl", Name = "application/excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xla", Name = "application/excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xla", Name = "application/x-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xla", Name = "application/x-msexcel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlb", Name = "application/excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlb", Name = "application/vnd.ms-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlb", Name = "application/x-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlc", Name = "application/excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlc", Name = "application/vnd.ms-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlc", Name = "application/x-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xld", Name = "application/excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xld", Name = "application/x-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlk", Name = "application/excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlk", Name = "application/x-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xll", Name = "application/excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xll", Name = "application/vnd.ms-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xll", Name = "application/x-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlm", Name = "application/excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlm", Name = "application/vnd.ms-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlm", Name = "application/x-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xls", Name = "application/excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xls", Name = "application/vnd.ms-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xls", Name = "application/x-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xls", Name = "application/x-msexcel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlsx", Name = "application/excel" }); //TODO
            _mimeTypes.Add(new MimeType() { Extension = "xlt", Name = "application/excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlt", Name = "application/x-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlv", Name = "application/excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlv", Name = "application/x-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlw", Name = "application/excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlw", Name = "application/vnd.ms-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlw", Name = "application/x-excel" });
            _mimeTypes.Add(new MimeType() { Extension = "xlw", Name = "application/x-msexcel" });
            _mimeTypes.Add(new MimeType() { Extension = "xm", Name = "audio/xm" });
            _mimeTypes.Add(new MimeType() { Extension = "xml", Name = "application/xml" });
            _mimeTypes.Add(new MimeType() { Extension = "xml", Name = "text/xml" });
            _mimeTypes.Add(new MimeType() { Extension = "xmz", Name = "xgl/movie" });
            _mimeTypes.Add(new MimeType() { Extension = "xpix", Name = "application/x-vnd.ls-xpix" });
            _mimeTypes.Add(new MimeType() { Extension = "xpm", Name = "image/x-xpixmap" });
            _mimeTypes.Add(new MimeType() { Extension = "xpm", Name = "image/xpm" });
            _mimeTypes.Add(new MimeType() { Extension = "x-png", Name = "image/png" });
            _mimeTypes.Add(new MimeType() { Extension = "xsr", Name = "video/x-amt-showrun" });
            _mimeTypes.Add(new MimeType() { Extension = "xwd", Name = "image/x-xwd" });
            _mimeTypes.Add(new MimeType() { Extension = "xwd", Name = "image/x-xwindowdump" });
            _mimeTypes.Add(new MimeType() { Extension = "xyz", Name = "chemical/x-pdb" });
            _mimeTypes.Add(new MimeType() { Extension = "z", Name = "application/x-compress" });
            _mimeTypes.Add(new MimeType() { Extension = "z", Name = "application/x-compressed" });
            _mimeTypes.Add(new MimeType() { Extension = "zip", Name = "application/x-compressed" });
            _mimeTypes.Add(new MimeType() { Extension = "zip", Name = "application/x-zip-compressed" });
            _mimeTypes.Add(new MimeType() { Extension = "zip", Name = "application/zip" });
            _mimeTypes.Add(new MimeType() { Extension = "zip", Name = "multipart/x-zip" });
            _mimeTypes.Add(new MimeType() { Extension = "zoo", Name = "application/octet-stream" });
            _mimeTypes.Add(new MimeType() { Extension = "zsh", Name = "text/x-script.zsh" });
        }

        public static string GetMimeTypeName(string extension)
        {
            MimeType tmp;

            for (int i = 0; i < _mimeTypes.Count; i++)
            {
                tmp = (MimeType)_mimeTypes[i];
                if (tmp.Extension == extension)
                {
                    return tmp.Name;
                }
            }

            return null;
        }

        public static string GetExtension(string mimeTypeName)
        {
            MimeType tmp;

            for (int i = 0; i < _mimeTypes.Count; i++)
            {
                tmp = (MimeType)_mimeTypes[i];
                if (tmp.Name == mimeTypeName)
                {
                    return tmp.Extension;
                }
            }

            return null;
        }
    }

    public struct MimeType
    {
        public string Extension { get; set; }

        public string Name { get; set; }
    }
}
